package com.zzk.protect.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

/**
 * 
 * @TableName examination_application
 */
@TableName(value ="examination_application")
public class ExaminationApplication {
    /**
     * Primary key ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * Medical record ID
     */
    @TableField(value = "medical_record_id")
    private Integer medicalRecordId;

    /**
     * Registration ID
     */
    @TableField(value = "registration_id")
    private Integer registrationId;

    /**
     * Item ID
     */
    @TableField(value = "item_id")
    private Integer itemId;

    /**
     * Item name
     */
    @TableField(value = "item_name")
    private String itemName;

    /**
     * Purpose and requirements
     */
    @TableField(value = "purpose")
    private String purpose;

    /**
     * Examination body part
     */
    @TableField(value = "body_part")
    private String bodyPart;

    /**
     * Urgent flag (1=urgent, 0=normal)
     */
    @TableField(value = "is_urgent")
    private Integer isUrgent;

    /**
     * Quantity
     */
    @TableField(value = "quantity")
    private Integer quantity;

    /**
     * Creation time
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * Doctor ID who created
     */
    @TableField(value = "doctor_id")
    private Integer doctorId;

    /**
     * Examiner ID
     */
    @TableField(value = "examiner_id")
    private Integer examinerId;

    /**
     * Result recorder ID
     */
    @TableField(value = "result_recorder_id")
    private Integer resultRecorderId;

    /**
     * Examination time
     */
    @TableField(value = "examination_time")
    private Date examinationTime;

    /**
     * Examination result
     */
    @TableField(value = "result")
    private String result;

    /**
     * Result time
     */
    @TableField(value = "result_time")
    private Date resultTime;

    /**
     * Status
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * Record type (1=examination, 2=test, 3=treatment)
     */
    @TableField(value = "record_type")
    private Integer recordType;

    /**
     * 
     */
    @TableField(value = "department_id")
    private Integer departmentId;

    /**
     * 
     */
    @TableField(value = "price")
    private Integer price;

    /**
     * Primary key ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * Primary key ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Medical record ID
     */
    public Integer getMedicalRecordId() {
        return medicalRecordId;
    }

    /**
     * Medical record ID
     */
    public void setMedicalRecordId(Integer medicalRecordId) {
        this.medicalRecordId = medicalRecordId;
    }

    /**
     * Registration ID
     */
    public Integer getRegistrationId() {
        return registrationId;
    }

    /**
     * Registration ID
     */
    public void setRegistrationId(Integer registrationId) {
        this.registrationId = registrationId;
    }

    /**
     * Item ID
     */
    public Integer getItemId() {
        return itemId;
    }

    /**
     * Item ID
     */
    public void setItemId(Integer itemId) {
        this.itemId = itemId;
    }

    /**
     * Item name
     */
    public String getItemName() {
        return itemName;
    }

    /**
     * Item name
     */
    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    /**
     * Purpose and requirements
     */
    public String getPurpose() {
        return purpose;
    }

    /**
     * Purpose and requirements
     */
    public void setPurpose(String purpose) {
        this.purpose = purpose;
    }

    /**
     * Examination body part
     */
    public String getBodyPart() {
        return bodyPart;
    }

    /**
     * Examination body part
     */
    public void setBodyPart(String bodyPart) {
        this.bodyPart = bodyPart;
    }

    /**
     * Urgent flag (1=urgent, 0=normal)
     */
    public Integer getIsUrgent() {
        return isUrgent;
    }

    /**
     * Urgent flag (1=urgent, 0=normal)
     */
    public void setIsUrgent(Integer isUrgent) {
        this.isUrgent = isUrgent;
    }

    /**
     * Quantity
     */
    public Integer getQuantity() {
        return quantity;
    }

    /**
     * Quantity
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    /**
     * Creation time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * Creation time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * Doctor ID who created
     */
    public Integer getDoctorId() {
        return doctorId;
    }

    /**
     * Doctor ID who created
     */
    public void setDoctorId(Integer doctorId) {
        this.doctorId = doctorId;
    }

    /**
     * Examiner ID
     */
    public Integer getExaminerId() {
        return examinerId;
    }

    /**
     * Examiner ID
     */
    public void setExaminerId(Integer examinerId) {
        this.examinerId = examinerId;
    }

    /**
     * Result recorder ID
     */
    public Integer getResultRecorderId() {
        return resultRecorderId;
    }

    /**
     * Result recorder ID
     */
    public void setResultRecorderId(Integer resultRecorderId) {
        this.resultRecorderId = resultRecorderId;
    }

    /**
     * Examination time
     */
    public Date getExaminationTime() {
        return examinationTime;
    }

    /**
     * Examination time
     */
    public void setExaminationTime(Date examinationTime) {
        this.examinationTime = examinationTime;
    }

    /**
     * Examination result
     */
    public String getResult() {
        return result;
    }

    /**
     * Examination result
     */
    public void setResult(String result) {
        this.result = result;
    }

    /**
     * Result time
     */
    public Date getResultTime() {
        return resultTime;
    }

    /**
     * Result time
     */
    public void setResultTime(Date resultTime) {
        this.resultTime = resultTime;
    }

    /**
     * Status
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * Status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * Record type (1=examination, 2=test, 3=treatment)
     */
    public Integer getRecordType() {
        return recordType;
    }

    /**
     * Record type (1=examination, 2=test, 3=treatment)
     */
    public void setRecordType(Integer recordType) {
        this.recordType = recordType;
    }

    /**
     * 
     */
    public Integer getDepartmentId() {
        return departmentId;
    }

    /**
     * 
     */
    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    /**
     * 
     */
    public Integer getPrice() {
        return price;
    }

    /**
     * 
     */
    public void setPrice(Integer price) {
        this.price = price;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ExaminationApplication other = (ExaminationApplication) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getMedicalRecordId() == null ? other.getMedicalRecordId() == null : this.getMedicalRecordId().equals(other.getMedicalRecordId()))
            && (this.getRegistrationId() == null ? other.getRegistrationId() == null : this.getRegistrationId().equals(other.getRegistrationId()))
            && (this.getItemId() == null ? other.getItemId() == null : this.getItemId().equals(other.getItemId()))
            && (this.getItemName() == null ? other.getItemName() == null : this.getItemName().equals(other.getItemName()))
            && (this.getPurpose() == null ? other.getPurpose() == null : this.getPurpose().equals(other.getPurpose()))
            && (this.getBodyPart() == null ? other.getBodyPart() == null : this.getBodyPart().equals(other.getBodyPart()))
            && (this.getIsUrgent() == null ? other.getIsUrgent() == null : this.getIsUrgent().equals(other.getIsUrgent()))
            && (this.getQuantity() == null ? other.getQuantity() == null : this.getQuantity().equals(other.getQuantity()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getDoctorId() == null ? other.getDoctorId() == null : this.getDoctorId().equals(other.getDoctorId()))
            && (this.getExaminerId() == null ? other.getExaminerId() == null : this.getExaminerId().equals(other.getExaminerId()))
            && (this.getResultRecorderId() == null ? other.getResultRecorderId() == null : this.getResultRecorderId().equals(other.getResultRecorderId()))
            && (this.getExaminationTime() == null ? other.getExaminationTime() == null : this.getExaminationTime().equals(other.getExaminationTime()))
            && (this.getResult() == null ? other.getResult() == null : this.getResult().equals(other.getResult()))
            && (this.getResultTime() == null ? other.getResultTime() == null : this.getResultTime().equals(other.getResultTime()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getRecordType() == null ? other.getRecordType() == null : this.getRecordType().equals(other.getRecordType()))
            && (this.getDepartmentId() == null ? other.getDepartmentId() == null : this.getDepartmentId().equals(other.getDepartmentId()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getMedicalRecordId() == null) ? 0 : getMedicalRecordId().hashCode());
        result = prime * result + ((getRegistrationId() == null) ? 0 : getRegistrationId().hashCode());
        result = prime * result + ((getItemId() == null) ? 0 : getItemId().hashCode());
        result = prime * result + ((getItemName() == null) ? 0 : getItemName().hashCode());
        result = prime * result + ((getPurpose() == null) ? 0 : getPurpose().hashCode());
        result = prime * result + ((getBodyPart() == null) ? 0 : getBodyPart().hashCode());
        result = prime * result + ((getIsUrgent() == null) ? 0 : getIsUrgent().hashCode());
        result = prime * result + ((getQuantity() == null) ? 0 : getQuantity().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getDoctorId() == null) ? 0 : getDoctorId().hashCode());
        result = prime * result + ((getExaminerId() == null) ? 0 : getExaminerId().hashCode());
        result = prime * result + ((getResultRecorderId() == null) ? 0 : getResultRecorderId().hashCode());
        result = prime * result + ((getExaminationTime() == null) ? 0 : getExaminationTime().hashCode());
        result = prime * result + ((getResult() == null) ? 0 : getResult().hashCode());
        result = prime * result + ((getResultTime() == null) ? 0 : getResultTime().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getRecordType() == null) ? 0 : getRecordType().hashCode());
        result = prime * result + ((getDepartmentId() == null) ? 0 : getDepartmentId().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", medicalRecordId=").append(medicalRecordId);
        sb.append(", registrationId=").append(registrationId);
        sb.append(", itemId=").append(itemId);
        sb.append(", itemName=").append(itemName);
        sb.append(", purpose=").append(purpose);
        sb.append(", bodyPart=").append(bodyPart);
        sb.append(", isUrgent=").append(isUrgent);
        sb.append(", quantity=").append(quantity);
        sb.append(", createTime=").append(createTime);
        sb.append(", doctorId=").append(doctorId);
        sb.append(", examinerId=").append(examinerId);
        sb.append(", resultRecorderId=").append(resultRecorderId);
        sb.append(", examinationTime=").append(examinationTime);
        sb.append(", result=").append(result);
        sb.append(", resultTime=").append(resultTime);
        sb.append(", status=").append(status);
        sb.append(", recordType=").append(recordType);
        sb.append(", departmentId=").append(departmentId);
        sb.append(", price=").append(price);
        sb.append("]");
        return sb.toString();
    }
}